home *** CD-ROM | disk | FTP | other *** search
- /* $Filename: WormWars/Source/system.h
- * $VER: WormWars 7.21a for Amiga
- *
- * © Copyright 2002 James R. Jacobs. Freely distributable.
-
- #INCLUDES -------------------------------------------------------------- */
-
- #include <exec/exec.h>
- #include <exec/memory.h>
- #include <pragmas/exec_pragmas.h>
- #include <clib/exec_protos.h>
- #include <exec/execbase.h>
-
- #include <intuition/intuition.h>
- #include <intuition/gadgetclass.h> /* STRINGA_ReplaceMode */
- #include <intuition/intuitionbase.h> /* struct IntuitionBase */
- #include <pragmas/intuition_pragmas.h>
-
- // #include <pragmas/asl_pragmas.h>
- #include <libraries/asl.h> /* ASL_FileRequest */
-
- #include <libraries/gadtools.h> /* struct StringInfo */
- #include <pragmas/gadtools_pragmas.h>
-
- #include <devices/audio.h>
- #include <devices/gameport.h> /* struct GamePortTrigger */
-
- // #include <pragmas/dos_pragmas.h>
- #include <dos/dosextens.h> /* struct Process */
- #include <dos/dos.h>
-
- #include <graphics/gfxbase.h>
- #include <graphics/displayinfo.h> /* PAL_MONITOR_ID, etc. */
- #include <pragmas/graphics_pragmas.h>
-
- #include <libraries/iffparse.h>
- #include <pragmas/iffparse_pragmas.h>
-
- #include <utility/date.h> /* struct DateStamp */
- #include <pragmas/utility_pragmas.h>
-
- #include <workbench/workbench.h> /* struct DiskObject */
- #include <pragmas/wb_pragmas.h>
-
- #include <hardware/cia.h> /* struct CIA */
-
- #include <libraries/lowlevel.h>
-
- // #include <libraries/amigaguide.h>
-
- #include <stdio.h> /* FILE, printf() */
- #include <stdlib.h> /* EXIT_SUCCESS, EXIT_FAILURE */
-
- #include "diff.h"
- #include "same.h"
- #include "libproto.h"
-
- /* joysticks */
-
- #define JOYUP 1
- #define JOYDOWN 2
- #define JOYLEFT 4
- #define JOYRIGHT 8
- #define JOYFIRE1 16
- #define JOYFIRE2 32
- #define POTGOR *(UWORD *)0xDFF016
-
- #define OLD 1
- #define NEW 0
-
- /* #DEFINES ---------------------------------------------------------------
-
- Help|About... window */
-
- #define ABOUTLINES 6
- #define ABOUTSHADOW DARKGREY
- #define ABOUTSHINE LIGHTGREY
- #define PROJECTX 128
- #define PROJECTY 75
- #define KICKSTARTX 104
- #define KICKSTARTY 91
- #define WORKBENCHX 104
- #define WORKBENCHY 99
-
- /* fxable/musicable */
-
- #define FAILED 0 // tried and failed
- #define SUCCEEDED 1 // tried and succeeded
- #define UNTRIED 2 // untried, will try at startup
- #define DEFER 3 // untried, will try when needed
-
- /* miscellaneous */
-
- #define ANIMDELAY 1800
- #define TSOFFSET 200 // you can adjust y-positions of high scores by adjusting this
- #define ENTIREXPIXEL 640
- #define ENTIREYPIXEL 512
-
- /* constant strings used more than once */
-
- #define TITLEBAR "Worm Wars 7.21a"
- #define PATTERN "(#?.fset)"
- #define OLDKICKSTART "Worm Wars: You need Kickstart R2.04+!\n(Can't open intuition.library V37+!)\n"
-
- /* object descriptions (in pixels) */
-
- #define FIRSTDESCX 130
- #define SECONDDESCX (SCREENXPIXEL - FIRSTDESCX)
- #define DESCY 3
-
- /* ARRAYS ---------------------------------------------------------------- */
-
- #define CREATUREHELPS 15
- struct
- { UBYTE image;
- STRPTR desc;
- ULONG score,
- pain;
- } creaturehelp[CREATUREHELPS + 1] =
- { {BIRD, "Bird", SCORE_BIRD, PAIN_BIRD},
- {CLOUD, "Cloud", SCORE_CLOUD, PAIN_CLOUD},
- {DOG, "Dog", SCORE_DOG, PAIN_DOG},
- {FIRSTDRIP, "Drip", SCORE_DRIP, PAIN_DRIP},
- {FISH, "Fish", SCORE_FISH, PAIN_FISH},
- {GIRAFFE, "Giraffe", SCORE_GIRAFFE, PAIN_GIRAFFE},
- {GOAT, "Goat", SCORE_GOAT, PAIN_GOAT},
- {LION, "Lion", SCORE_LION, PAIN_LION},
- {ORB, "Orb", SCORE_ORB, PAIN_ORB},
- {OCTOPUS, "Octopus", SCORE_OCTOPUS, PAIN_OCTOPUS},
- {OTTER, "Otter", SCORE_OTTER, PAIN_OTTER},
- {PENGUIN, "Penguin", SCORE_PENGUIN, PAIN_PENGUIN},
- {PROTECTOR, "Protector", 0, PAIN_PROTECTOR},
- {SLIME, "Slime", 0, PAIN_SLIME},
- {WHIRLWIND, "Whirlwind", SCORE_WHIRLWIND, PAIN_WHIRLWIND},
- {LASTHEAD, "Worm", 0, PAIN_HEAD}
- };
-
- STRPTR objectdesc[LASTOBJECT + 1] =
- { "AFFIXER: Stops protectors rotating.",
- "AMMO: 2-6 bullets.",
- "ARMOUR: Immune to most damage.",
- "BIAS: Rules changes in your favour.",
- "BOMB: An explosion.",
- "BONUS: Awards the next number.",
- "BRAKES: Enables very slow speed.",
- "CLOCK: Extra time.",
- "CONVERTER: Fragments to missiles.",
- "CUTTER: Cuts a tunnel through tail.",
- "CYCLONE: Unleashes a whirlwind.",
- "ENCLOSER: Rectangular enclosure.",
- "GLOW: Leaves a glowing tail.",
- "GROWER: Enlarges silver and gold.",
- "HEALER: 100/200 lives.",
- "ICE: Freezes enemies.",
- "LIFE: 2-6 lives.",
- "LIGHTNING: Flashes around tail.",
- "MAGNET: Attracts all objects.",
- "MISSILE: A guided missile.",
- "MULTIPLIER: More points.",
- "POWER: Thicker bullets.",
- "PROTECTOR: An orbiting companion.",
- "PULSE: Fragment explosion.",
- "PUSHER: Lets you push things.",
- "REMNANTS: Bullets leave a trail.",
- "SIDESHOT: Shoot sideways.",
- "SLAYER: Smart bomb.",
- "SLOWER: Slows creatures down.",
- "SWITCHER: Changes tail colours.",
- "TREASURE: Treasure level.",
- "UMBRELLA: Skips 2-3 levels."
- };
-
- UWORD chip LogoData[8968] =
- {
- /* Plane 0 */
- 15360,480,30,0,2,8,0,0,1,0,32,0,32,0,0,0,0,0,0,
- 53120,1660,103,49152,3588,16,0,256,2,0,16,0,35,0,1,32768,0,0,0,
- 3456,108,6,49152,12292,16,0,128,2,0,3,65535,65503,59392,1,32768,0,0,0,
- 3584,112,7,0,16384,0,0,0,0,64,1,65535,65503,63488,0,0,0,0,6,
- 7168,224,14,0,32768,0,0,0,0,0,0,0,64,31744,0,0,0,0,6,
- 3328,104,6,32769,8192,0,0,0,0,0,0,21845,21834,7680,0,0,0,0,24,
- 3072,96,6,2,24578,43657,0,2,43680,36864,0,0,64,3840,0,0,0,0,24,
- 3328,112,14,32770,32832,0,0,0,0,0,1,0,64,1920,0,0,0,0,0,
- 7168,224,6,4,33280,0,0,0,0,0,3,36863,65496,896,0,0,0,0,64,
- 3328,96,6,32772,33792,14,0,0,1,49152,1,32768,68,896,0,0,0,0,0,
- 3072,96,6,4,2112,1,0,0,0,8192,1,40960,9249,16832,0,0,0,0,256,
- 3584,96,15,8,4,16,20480,1,2,2560,1,33792,64544,448,0,0,0,0,32,
- 7168,224,6,8,4,16,0,0,8194,0,1,49152,16,8352,2,43666,18724,37449,8192,
- 3328,96,6,32776,2,8,2056,0,1,256,1,32768,0,128,0,73,9362,9362,160,
- 3072,96,6,0,64,0,0,0,0,0,3,40960,0,4672,2,43652,37444,34848,32768,
- 7424,96,14,32768,128,0,1040,1,0,144,1,32768,30720,800,0,0,0,0,160,
- 3072,224,6,0,256,0,8,0,0,16,1,49153,40704,336,0,0,0,0,64,
- 3584,96,7,0,256,0,20,0,0,24,1,32768,6912,256,0,0,0,0,128,
- 7168,96,6,0,512,0,0,0,0,10,3,32768,7168,464,0,0,0,0,32,
- 3072,96,14,32768,512,0,4,0,0,0,1,32768,14336,432,0,0,0,0,128,
- 3072,112,6,0,2560,0,4,0,0,0,1,32768,6656,896,0,0,0,0,64,
- 3072,96,6,32768,2560,0,8,0,0,0,1,32768,6144,384,0,0,0,0,128,
- 7168,96,14,0,2560,0,0,0,0,0,1,49152,7168,384,0,0,0,0,32,
- 3072,224,6,32770,512,0,0,0,0,0,1,32768,6144,448,0,0,0,0,128,
- 3072,96,6,2,2560,0,0,0,0,0,1,32768,14336,384,0,0,0,64,64,
- 3072,96,7,2,512,0,8,0,0,0,1,49152,6144,896,0,0,0,384,128,
- 7168,96,14,2,512,0,0,0,0,0,1,32768,6144,384,0,0,0,384,16416,
- 3072,224,6,32770,2560,0,8,0,0,0,3,32768,6144,384,0,0,0,0,128,
- 3072,96,6,2,512,0,0,0,0,0,1,32768,14336,384,0,0,0,0,64,
- 3072,96,7,0,512,0,0,0,0,0,1,32768,6144,896,0,0,0,0,0,
- 7168,96,6,2,2560,0,8,0,0,0,1,49152,6144,384,0,0,0,0,160,
- 3072,224,6,32768,512,0,0,0,0,0,1,32768,6144,384,0,0,0,0,16448,
- 3072,96,6,2,2560,0,8,0,0,0,3,32768,14336,448,0,0,0,0,128,
- 3072,0,15,0,2560,0,0,0,0,0,1,32768,6144,896,0,0,0,0,16416,
- 7168,0,6,0,512,0,0,0,0,0,1,32768,6144,384,0,0,0,0,128,
- 3072,0,6,32768,0,0,0,0,0,0,1,32768,6144,384,0,0,0,0,64,
- 3072,0,14,0,0,0,8,0,0,0,3,32768,14336,384,0,0,0,0,0,
- 3072,0,6,32768,0,0,0,64,0,0,1,32768,6144,896,0,0,0,0,128,
- 7168,0,6,0,0,0,8,0,32768,0,1,32768,6144,384,0,0,0,0,16384,
- 3072,0,15,0,0,0,0,64,0,0,1,32768,6144,384,0,0,0,0,128,
- 3072,0,12,32768,0,0,16,0,32768,0,3,32768,14336,384,0,0,0,0,0,
- 3072,0,16413,0,16386,10,1024,0,32768,0,1,32768,6144,896,0,0,0,0,128,
- 7200,0,33850,0,8196,16,16416,0,32768,0,1,32768,6144,384,0,0,0,0,0,
- 3136,0,33008,0,8196,16,0,0,32768,0,1,32768,6144,384,0,0,0,0,0,
- 3263,65535,32711,0,4096,0,112,0,32768,0,3,32768,14336,384,0,0,0,0,128,
- 3199,65535,32594,0,4096,0,288,0,0,0,1,32768,6144,896,0,0,0,0,0,
- 6144,1,262,0,2048,0,2144,0,32768,0,1,32768,6144,384,0,0,0,0,0,
- 170,43691,10796,0,1026,43653,21184,0,0,0,1,32768,6144,384,0,0,0,0,128,
- 0,1,64,0,768,0,1024,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,1,384,0,0,0,6144,0,0,0,0,0,0,0,0,0,0,0,0,
- 4095,65535,32256,0,0,15,57344,0,0,0,0,0,0,0,0,0,0,0,16512,
- 0,1,0,0,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,32768,0,4,16,0,0,0,0,0,0,0,0,0,0,0,0,16512,
- 0,0,32768,0,4,16,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,16384,0,2,8,0,0,0,0,0,0,0,0,0,0,0,0,16512,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16512,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16384,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,
- 0,0,0,1,0,8,0,0,1,0,0,1,0,0,0,0,0,0,16384,
- 15360,480,30,0,0,16,0,256,2,0,0,2,0,0,0,0,0,0,128,
- 53120,1660,103,49152,0,16,0,128,2,0,0,98,0,320,0,0,0,0,0,
- 3456,108,6,49152,0,0,0,0,0,64,0,5117,65535,64736,0,0,0,0,128,
- 3584,112,7,0,0,0,0,0,0,0,0,18429,65535,64224,0,0,0,0,0,
- 7168,224,14,0,0,0,0,0,0,0,0,3588,0,480,0,0,0,0,128,
- 3328,104,6,32769,21845,21770,32768,2,43680,36864,1,7212,43690,44000,0,0,0,0,0,
- 3072,96,6,0,0,0,0,0,0,0,0,6148,0,480,0,0,0,0,128,
- 3328,112,14,32768,0,0,0,0,0,0,0,12292,0,992,0,0,0,0,0,
- 7168,224,6,0,0,14,0,0,1,49152,0,8205,65535,63712,0,0,0,0,128,
- 3328,96,6,32768,0,1,0,0,0,8192,0,24596,0,480,0,0,0,2,0,
- 3072,96,6,0,0,16,20480,1,2,2560,0,24898,0,64,0,0,0,0,128,
- 3584,96,15,0,0,16,0,0,8194,0,0,16386,0,128,0,0,0,6,0,
- 7168,224,6,0,0,8,2056,0,1,256,0,16897,0,0,0,0,0,6,0,
- 3328,96,6,32768,0,0,128,0,0,0,0,20480,0,0,0,0,0,0,16536,
- 3072,96,6,0,0,0,1160,1,0,144,0,17408,0,0,0,0,0,0,24,
- 7424,96,14,32768,0,0,128,0,0,16,5,16384,0,0,0,0,0,6,16512,
- 3072,224,6,0,0,0,12,0,0,24,7,49152,0,0,0,0,0,6,8,
- 3584,96,7,0,0,0,0,0,0,10,12,24576,0,0,0,0,0,0,152,
- 7168,96,6,0,0,0,4,0,0,0,4,24576,0,0,0,0,0,0,16408,
- 3072,96,14,32768,0,0,4,0,0,0,4,12288,0,0,0,0,0,0,24,
- 3072,112,6,0,0,0,8,0,0,0,12,12288,0,0,0,0,0,0,152,
- 3072,96,6,32768,0,0,0,0,0,0,4,14336,0,0,0,0,0,0,24,
- 7168,96,14,0,68,0,512,0,0,0,2,7169,4,16384,0,0,0,0,152,
- 3072,224,6,32768,8,0,0,0,0,0,0,3842,9,36864,0,0,0,0,24,
- 3072,96,6,0,4096,0,520,0,0,0,0,2041,65511,62464,0,0,0,0,16408,
- 3072,96,7,0,8192,0,1024,0,0,0,0,1021,65527,64512,0,0,0,0,152,
- 7168,96,14,0,16384,0,1024,0,0,0,0,4,20,7808,0,0,0,0,16408,
- 3072,224,6,32768,33280,0,1024,0,0,0,0,4,34960,8064,0,0,0,0,128,
- 3072,96,6,0,1024,8,1032,0,0,0,0,0,0,1408,0,0,0,0,8,
- 3072,96,7,1,2056,32,512,0,0,0,0,2,8,1728,0,0,0,0,152,
- 7168,96,6,0,4100,16,0,0,0,0,0,1,4,2752,0,0,0,0,24,
- 3072,224,6,32770,0,0,0,0,0,0,0,0,0,864,0,0,0,0,16384,
- 3072,96,6,0,0,0,8,0,0,0,0,0,0,864,0,0,0,0,128,
- 3072,0,15,0,0,0,0,0,0,0,0,0,0,864,0,0,0,0,16384,
- 7168,0,6,0,0,0,8,0,0,0,0,0,0,816,0,0,0,0,128,
- 3072,0,6,32768,0,0,0,0,0,0,0,0,0,880,0,0,0,0,0,
- 3072,0,14,0,0,0,0,64,0,0,0,0,0,816,0,0,0,0,0,
- 3072,0,6,32768,0,0,0,0,32768,0,0,0,0,848,0,0,0,0,0,
- 7168,0,6,0,0,0,8,64,0,0,0,0,0,784,0,0,0,0,0,
- 3072,0,15,0,0,0,16,0,32768,0,0,0,0,688,0,0,0,0,0,
- 3072,0,12,32768,4,10,0,0,32768,0,2,0,8,3600,0,0,0,0,0,
- 3072,0,16413,0,8,16,32,0,32768,0,4,0,16,3328,0,0,0,0,0,
- 7200,0,33850,0,8,16,0,0,32768,0,4,0,16,6160,0,0,0,0,0,
- 3136,0,33008,0,8192,0,112,0,32768,0,15,65535,65519,61952,0,0,0,0,0,
- 3263,65535,32711,0,8192,0,288,0,0,0,15,65535,65519,53248,0,0,0,0,0,
- 3199,65535,32594,0,4096,0,2144,0,32768,0,8,0,32,17408,0,0,0,0,0,
- 6144,1,262,2,2053,21770,41664,0,0,0,10,43690,43685,2048,0,0,0,0,0,
- 170,43691,10796,0,1536,0,1024,0,0,0,8,0,32,8192,0,0,0,0,0,
- 0,1,64,0,0,0,6144,0,0,0,8,0,35,16384,0,0,0,0,0,
- 0,1,384,0,0,15,57344,0,0,0,15,65535,65516,0,0,0,0,0,0,
- 4095,65535,32256,0,192,0,0,0,0,0,0,0,33,0,0,0,0,0,0,
- 0,1,0,0,8,16,0,0,0,0,0,0,16,0,0,0,0,0,0,
- 0,0,32768,0,8,16,0,0,0,0,0,0,16,0,0,0,0,0,0,
- 0,0,32768,0,4,8,0,0,0,0,0,0,8,0,0,0,0,0,0,
- /* Plane 1 */
- 15360,480,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 3968,124,7,49152,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,
- 3456,108,6,49152,0,0,49152,0,0,6144,3,65535,65503,59392,0,0,0,0,0,
- 3584,112,7,0,1979,65519,64000,31,65533,65280,1,65535,65503,63488,6,0,0,0,0,
- 7168,224,14,0,7419,65519,65024,15,65533,65408,0,0,64,31744,6,0,0,0,0,
- 3072,96,6,0,1000,34,7936,0,4,17344,0,0,64,7680,6,0,0,0,0,
- 3072,96,6,0,3864,32,1920,0,4,240,0,0,64,3840,6,0,0,0,0,
- 3072,112,14,0,3336,32,960,0,4,112,1,0,64,1920,31,65535,65535,65535,65024,
- 7168,224,6,0,6152,32,480,8,4,56,3,36863,65472,896,31,65535,65535,65535,65024,
- 3072,96,6,0,12299,65504,224,28,32764,28,1,32768,64,896,31,65535,65535,65535,63488,
- 3072,96,6,0,24584,32,224,12,4,28,1,32768,0,448,31,65535,65535,65535,63488,
- 3584,96,15,0,24576,0,112,12,0,14,1,32768,0,448,24,0,0,0,0,
- 7168,224,6,0,24576,0,112,12,0,14,1,49152,0,128,24,0,0,0,0,
- 3072,96,6,0,49152,0,32,14,0,4,1,32768,0,128,24,0,0,0,0,
- 3072,96,6,0,49152,0,32,12,0,4,3,32768,0,512,24,0,0,0,0,
- 7168,96,14,0,49152,0,128,28,0,4,1,32768,30720,768,24,0,0,0,1536,
- 3072,224,6,0,49152,0,192,12,0,4,1,49152,7936,256,24,0,0,0,1536,
- 3584,96,7,0,49152,0,64,14,0,0,1,32768,6912,256,24,0,0,0,7680,
- 7168,96,6,0,49152,0,64,12,0,0,3,32768,7168,448,24,0,0,0,7680,
- 3072,96,14,0,49152,0,112,28,0,0,1,32768,14336,384,31,65535,65535,65504,7680,
- 3072,112,6,0,49152,0,96,12,0,0,1,32768,6144,896,31,65535,65535,65504,15872,
- 3072,96,6,0,49152,0,224,12,0,0,1,32768,6144,384,0,0,0,0,7680,
- 7168,96,14,0,49152,0,96,12,0,0,1,49152,7168,384,0,0,0,0,15872,
- 3072,224,6,0,49152,0,112,14,0,0,1,32768,6144,448,0,0,0,0,7680,
- 3072,96,6,0,49152,0,224,12,0,0,1,32768,14336,384,0,0,0,0,15872,
- 3072,96,7,0,57344,0,96,12,0,0,1,49152,6144,896,0,0,0,0,7680,
- 7168,96,14,0,49152,0,96,14,0,0,1,32768,6144,384,0,0,0,0,7680,
- 3072,224,6,0,49152,0,96,12,0,0,3,32768,6144,384,0,0,0,0,15872,
- 3072,96,6,0,49152,0,96,28,0,0,1,32768,14336,384,0,0,0,0,7680,
- 3072,96,7,0,49152,0,112,12,0,0,1,32768,6144,896,0,0,0,0,15872,
- 7168,96,6,0,49152,0,96,12,0,0,1,49152,6144,384,0,0,0,0,7680,
- 3072,224,6,0,49152,0,96,14,0,0,1,32768,6144,384,0,0,0,0,7680,
- 3072,96,6,0,49152,0,224,12,0,0,3,32768,14336,448,0,0,0,0,7680,
- 3072,0,15,0,49152,0,96,12,0,0,1,32768,6144,896,0,0,0,0,7680,
- 7168,0,6,0,49152,0,112,28,0,0,1,32768,6144,384,0,0,0,0,15872,
- 3072,0,6,0,49152,0,96,12,0,0,1,32768,6144,384,0,0,0,0,7680,
- 3072,0,14,0,16384,0,224,12,0,0,3,32768,14336,384,0,0,0,0,15872,
- 3072,0,6,0,16384,0,96,12,0,0,1,32768,6144,896,0,0,0,0,7680,
- 7168,0,6,0,28672,0,96,14,0,0,1,32768,6144,384,0,0,0,0,7680,
- 3072,0,15,0,8192,0,224,28,0,0,1,32768,6144,384,0,0,0,0,7680,
- 3072,0,12,0,12288,0,192,12,0,0,3,32768,14336,384,0,0,0,0,15872,
- 3072,0,28,0,6144,0,448,12,0,0,1,32768,6144,896,0,0,0,0,7680,
- 7168,0,56,0,3072,0,896,14,0,0,1,32768,6144,384,0,0,0,0,15872,
- 3072,0,240,0,1536,0,12032,28,0,0,1,32768,6144,384,0,0,0,0,7680,
- 3135,65535,32704,0,1019,65519,64512,12,0,0,3,32768,14336,384,0,0,0,0,15872,
- 3199,65535,32576,0,507,65519,61440,12,0,0,1,32768,6144,896,0,0,0,0,7680,
- 6144,1,256,0,8,32,0,12,0,0,1,32768,6144,384,0,0,0,0,15872,
- 0,3,0,0,24,32,0,14,0,0,1,32768,6144,384,0,0,0,0,7680,
- 0,1,0,0,8,32,0,12,0,0,0,0,0,0,0,0,0,0,15872,
- 0,1,0,0,248,32,0,0,0,0,0,0,0,0,0,0,0,0,7680,
- 4095,65535,0,0,11,65504,0,0,0,0,0,0,0,0,0,0,0,0,7680,
- 0,1,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,7680,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7680,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7680,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7680,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7680,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7680,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15872,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7680,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15872,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7680,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7680,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7680,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7680,
- 15360,480,30,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7680,
- 3968,124,7,49154,0,0,49152,0,0,6144,0,96,0,64,0,0,0,0,15872,
- 3456,108,6,49159,65535,65519,64000,31,65533,65280,0,1021,65535,64736,0,0,0,0,7680,
- 3584,112,7,7,65535,65519,65024,15,65533,65408,0,2045,65535,63712,0,0,0,0,15872,
- 7168,224,14,4,0,32,7936,0,4,17344,0,3588,0,480,0,0,0,0,7680,
- 3072,96,6,4,0,32,1920,0,4,240,0,7180,0,992,0,0,0,0,15872,
- 3072,96,6,4,0,32,960,0,4,112,0,6148,0,480,0,0,0,0,7680,
- 3072,112,14,4,0,32,480,8,4,56,0,12292,0,992,0,0,0,0,15872,
- 7168,224,6,7,65535,65504,224,28,32764,28,0,8204,0,224,0,0,0,0,7680,
- 3072,96,6,0,0,32,224,12,4,28,0,24580,0,480,0,0,0,0,15872,
- 3072,96,6,0,0,0,112,12,0,14,0,24576,0,64,0,0,0,0,7680,
- 3584,96,15,0,0,0,112,12,0,14,0,16384,0,0,0,0,0,0,15872,
- 7168,224,6,0,0,0,32,14,0,4,0,16384,0,0,0,0,0,0,7680,
- 3072,96,6,0,0,0,32,12,0,4,0,16384,0,0,0,0,0,0,7680,
- 3072,96,6,0,0,0,32,28,0,4,0,16384,0,0,0,0,0,0,7680,
- 7168,96,14,0,0,0,0,12,0,4,5,16384,0,0,0,0,0,0,7680,
- 3072,224,6,0,0,0,96,14,0,0,7,49152,0,0,0,0,0,0,15872,
- 3584,96,7,0,0,0,192,12,0,0,12,24576,0,0,0,0,0,0,7680,
- 7168,96,6,0,0,0,112,28,0,0,4,24576,0,0,0,0,0,0,7680,
- 3072,96,14,0,0,0,96,12,0,0,4,12288,0,0,0,0,0,0,7680,
- 3072,112,6,0,0,0,96,12,0,0,12,12288,0,0,0,0,0,0,15872,
- 3072,96,6,0,0,0,96,12,0,0,4,14336,0,0,0,0,0,0,7680,
- 7168,96,14,0,0,16,112,28,0,0,0,7168,0,0,0,0,0,0,15872,
- 3072,224,6,0,0,56,224,12,0,0,0,3840,1,36864,0,0,0,0,7680,
- 3072,96,6,0,231,65400,96,12,0,0,0,2041,65511,62464,0,0,0,0,7680,
- 3072,96,7,0,247,65404,96,12,0,0,0,1021,65527,64512,0,0,0,0,7680,
- 7168,96,14,0,144,248,112,28,0,0,0,4,20,7808,0,0,0,0,7680,
- 3072,224,6,0,16,112,96,12,0,0,0,4,16,8064,0,0,0,0,15872,
- 3072,96,6,0,0,64,96,12,0,0,0,0,0,1408,0,0,0,0,7680,
- 3072,96,7,0,0,0,96,28,0,0,0,0,0,1728,0,0,0,0,15872,
- 7168,96,6,0,0,0,240,12,0,0,0,0,0,704,0,0,0,0,7680,
- 3072,224,6,0,8192,0,96,12,0,0,0,0,0,864,0,0,0,0,7680,
- 3072,96,6,0,8192,0,96,28,0,0,0,0,0,864,0,0,0,0,7680,
- 3072,0,15,4,24576,0,96,12,0,0,0,0,0,864,0,0,0,0,7680,
- 7168,0,6,4,24576,0,224,12,0,0,0,0,0,816,0,0,0,0,7680,
- 3072,0,6,4,24576,0,96,14,0,0,0,0,0,880,0,0,0,0,0,
- 3072,0,14,4,24576,0,112,28,0,0,0,0,0,816,0,0,0,0,0,
- 3072,0,6,5,24576,0,96,12,0,0,0,0,0,784,0,0,0,0,0,
- 7168,0,6,7,57344,0,224,12,0,0,0,0,0,784,0,0,0,0,0,
- 3072,0,15,7,40960,0,192,28,0,0,0,0,0,560,0,0,0,0,0,
- 3072,0,12,6,61440,0,448,12,0,0,0,0,0,3600,0,0,0,0,0,
- 3072,0,28,4,22528,0,1920,12,0,0,4,0,0,3072,0,0,0,0,0,
- 7168,0,56,0,19584,0,7936,12,0,0,4,0,0,6144,0,0,0,0,0,
- 3072,0,240,0,2039,65519,64512,28,0,0,15,65535,65519,61440,0,0,0,0,0,
- 3135,65535,32704,0,1015,65519,61440,12,0,0,15,65535,65519,53248,0,0,0,0,0,
- 3199,65535,32576,0,16,32,0,12,0,0,8,0,32,16384,0,0,0,0,0,
- 6144,1,256,0,48,96,0,12,0,0,8,0,32,0,0,0,0,0,0,
- 0,3,0,0,16,32,0,12,0,0,8,0,32,0,0,0,0,0,0,
- 0,1,0,0,496,32,0,0,0,0,8,0,32,0,0,0,0,0,0,
- 0,1,0,0,23,65504,0,0,0,0,15,65535,65504,0,0,0,0,0,0,
- 4095,65535,0,0,16,32,0,0,0,0,0,0,32,0,0,0,0,0,0,
- 0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- /* Plane 2 */
- 32640,1020,63,49152,2044,65523,63488,511,65534,32512,31,65535,65487,30720,0,0,0,0,0,
- 8064,2300,143,49152,12793,65511,54784,255,65532,64192,39,65535,65484,58880,0,32767,65535,65535,65534,
- 8128,2302,143,57344,4091,65511,14720,319,65532,65328,12,0,32,4864,4,32767,65535,65535,65534,
- 16320,5630,159,57344,47108,16,1216,127,65535,65432,20,0,32,1792,7,65535,65535,65535,65528,
- 24384,250,47,40961,24836,16,448,175,65535,65528,10,65535,65471,33728,23,65535,65535,65535,65528,
- 40512,2802,79,8194,56343,65501,57584,87,65535,65534,33,10922,43701,57792,31,65535,65535,65535,65446,
- 16320,254,15,57345,32997,21846,63600,265,21855,28670,10,32768,39,61680,31,65535,65535,65535,65414,
- 7744,5626,175,8197,21156,16403,64572,84,23,16383,32774,18724,35121,30768,31,65535,65535,65535,65142,
- 24384,4350,15,40971,26021,5268,24076,58,18702,6143,32800,8192,36,48240,31,65535,65535,65535,65062,
- 40512,5370,95,8203,19380,17,44828,285,32766,9215,32778,22528,35,15480,31,65535,65535,65535,63958,
- 16320,6650,15,57355,6068,18,38686,94,49158,23039,49170,19613,56218,3600,31,65535,65535,65535,63622,
- 8000,4346,175,40967,40419,21128,34692,158,25761,4222,32774,31271,916,63016,31,65535,65535,65535,58958,
- 24512,6906,15,57350,40226,2089,15754,63,53525,17343,16422,10373,65487,24392,29,21869,46811,28086,50934,
- 40512,4346,95,8193,14985,41604,54738,319,17472,37119,16394,30720,14,46968,31,65462,56173,56173,55622,
- 24384,6650,47,40964,15792,7,12254,95,49152,58879,16400,18432,1,19880,29,21883,28091,30687,7158,
- 7744,4346,143,8192,15616,0,20842,158,16384,2607,16386,26624,34560,46280,25,4144,16,21390,28486,
- 24512,6906,15,57354,14848,0,12082,31,16384,1262,16426,14338,8192,16040,24,17733,19082,1056,26534,
- 8000,4346,95,40960,14848,0,3242,351,49152,295,16390,18434,9408,21224,26,8208,8257,20617,40822,
- 24128,5626,15,57349,14592,0,4542,62,16384,149,16400,26626,25472,20008,25,2698,35368,1059,57286,
- 8000,4346,175,8194,15360,0,6538,159,16384,297,16386,26625,1920,22088,31,65535,65535,65518,32630,
- 48960,6642,15,40968,13568,0,410,31,16384,669,49194,26628,9344,25704,31,65535,65535,65510,65446,
- 8000,4858,79,8193,12288,0,1298,351,16384,382,16390,26625,26496,19048,24,0,0,25,32630,
- 24384,6650,47,57348,13312,0,670,63,16384,511,18,2052,8320,25192,25,9288,35108,42268,65478,
- 8000,4346,79,8192,15360,0,2186,158,16384,24,6,18437,25728,17928,6,35090,8322,4592,32630,
- 48960,6394,31,40968,13312,0,542,62,16384,133,38,26628,1664,26216,14,8772,35368,34218,65454,
- 8000,4858,143,57344,7168,0,146,319,16384,0,10,14342,9856,16488,6,34832,8322,9824,32630,
- 24384,6650,47,57348,15360,0,2718,95,49152,0,6,26628,42624,27240,6,8837,2600,34405,16326,
- 8000,4346,79,8192,13312,0,402,63,16384,0,32,26630,26240,17000,1,51280,41090,8768,32622,
- 48960,6394,31,40968,15360,0,1182,287,16384,0,10,18436,1664,22104,5,33284,2596,37013,32694,
- 8000,762,79,57345,15360,0,394,94,16384,0,18,26630,9856,16488,0,0,0,0,65526,
- 24384,4602,31,40964,13312,0,2450,159,16384,0,6,2052,42624,25192,0,0,0,84,32582,
- 8000,1274,175,8192,15360,0,670,62,16384,0,38,22534,26240,19048,0,0,0,1,16294,
- 48960,2298,31,57352,13312,0,1042,350,49152,0,0,26628,1664,26120,0,0,0,36,32630,
- 8000,666,79,40962,13312,0,158,63,16384,0,18,26630,42624,16472,0,0,0,17,16326,
- 24384,5322,271,57349,15360,0,4746,223,16384,0,10,26628,9856,27240,0,0,0,68,32622,
- 8000,3060,335,8193,15104,0,7582,95,16384,0,38,26629,26240,16968,0,0,0,17,32694,
- 48960,4090,367,40971,48896,0,5138,223,49152,0,0,26628,1664,22120,0,0,0,4,65526,
- 8000,232,207,8193,49024,0,3226,63,16384,0,18,26630,9856,16488,0,0,0,80,32550,
- 24384,1032,639,57351,3456,0,8850,351,16384,0,10,26628,42624,25192,0,0,0,5,16326,
- 8000,8,431,40962,24512,0,4894,31,49152,0,38,26630,26240,19048,0,0,0,32,32534,
- 48960,0,3935,8204,53104,0,63278,159,16384,0,0,26628,1664,26216,0,0,0,20,65478,
- 8031,62619,40958,40964,42924,65521,64058,63,16384,0,18,26630,9856,16488,0,0,0,66,32534,
- 24335,63783,15357,40967,37881,65511,48218,287,16384,0,10,26628,42624,25192,0,0,0,16,65478,
- 7967,65535,16383,24585,23033,65511,53490,95,16384,0,38,26629,26240,19048,0,0,0,4,65486,
- 48959,65535,65528,16399,11268,16,900,159,16384,0,0,26628,1664,26216,0,0,0,81,32518,
- 8063,65535,65517,57346,59908,16,3798,63,49152,0,18,26630,9856,16488,0,0,0,4,65494,
- 23551,65535,65528,40965,41975,65503,63370,159,16384,0,6,26628,42624,27240,0,0,0,32,32710,
- 5461,21847,54721,16385,50149,21850,44052,63,16384,0,34,26624,26240,616,0,0,0,21,32526,
- 41489,1,37045,0,43140,1104,2896,351,16384,0,10,47106,10880,9576,0,0,0,64,65478,
- 2180,18773,34378,32769,25860,41242,58536,41,49152,0,19,31749,13952,21288,0,0,0,20,65494,
- 53247,65535,33205,0,45652,16,6480,155,49152,0,47,57350,64512,12232,0,0,0,0,16134,
- 57344,1,49918,0,22662,16,4000,382,0,0,31,59395,65024,16352,0,0,0,85,32758,
- 51882,38024,21856,0,10179,10893,22272,255,0,0,7,4096,12288,768,0,0,0,0,16230,
- 32768,16930,18256,0,6642,44,28928,28,0,0,16,24577,17920,4448,0,0,0,37,32742,
- 32768,136,45184,0,1793,43654,18432,129,0,0,0,0,0,0,0,0,0,16,16246,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,32758,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,16230,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,32750,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,32614,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,65414,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,32558,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,16326,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,32534,
- 0,0,0,0,65535,65523,63488,511,65534,32512,0,510,32767,65472,0,0,0,18,16326,
- 17280,540,33,49155,65535,65519,54784,255,65532,64192,0,4093,65535,65504,0,0,0,4,32526,
- 4096,2176,136,7,65535,65511,63872,319,65532,59184,0,8188,65535,65264,0,0,0,86,65478,
- 4672,2194,137,8199,65535,65535,65216,96,2,152,0,9215,65535,65504,0,0,0,14,32534,
- 12736,5518,152,57351,65535,65535,65472,160,2,120,0,14335,65535,65008,0,0,0,32,65478,
- 17216,26,33,40967,65535,65535,65520,87,65531,48190,0,61439,65535,65520,0,0,0,9,32526,
- 37440,2706,73,8198,43690,43765,32752,265,21851,28430,0,65503,21845,22520,0,0,0,70,65446,
- 13248,158,9,57348,8192,177,65532,84,19,16271,32771,40950,256,2032,0,0,0,22,32518,
- 4672,5514,161,8197,2633,8820,24556,50,18698,6087,32770,65478,37961,12280,0,0,0,36,65454,
- 17216,4126,9,40967,65535,65521,45052,257,2,9187,32775,15902,0,2032,0,0,0,8,65286,
- 37440,5274,89,8196,8192,50,38910,82,49154,23011,49157,65198,0,2032,0,0,0,68,32702,
- 13248,6554,9,57346,35156,38028,34804,146,25761,4208,32783,64553,42154,38896,0,0,0,23,32542,
- 4416,4250,160,40962,8705,8712,6650,51,53525,17329,16399,62209,2304,9056,0,0,0,40,65510,
- 17344,6682,9,57347,34964,18598,34290,305,17472,37115,16398,64628,49738,35264,0,0,0,0,32758,
- 37440,4250,89,8192,0,7,11646,83,49152,58875,16399,58936,0,0,0,0,0,87,16230,
- 21312,6554,41,40960,0,0,21362,130,16384,2603,16399,61760,0,0,0,0,0,6,32742,
- 576,4250,129,8192,0,0,10106,19,16384,1258,16399,63104,0,0,0,0,0,40,16254,
- 21440,6682,9,57344,0,0,2546,337,49152,295,16399,60800,0,0,0,0,0,0,32758,
- 4416,4250,88,40960,0,0,4858,50,16384,149,16398,64640,0,0,0,0,0,80,65382,
- 16960,5530,9,57344,0,0,4346,131,16384,297,16397,61056,0,0,0,0,0,4,16358,
- 4928,4250,161,8192,0,0,2810,19,16384,669,49166,32448,0,0,0,0,0,34,32742,
- 45888,6530,9,40960,0,0,498,179,16384,382,16398,63408,0,0,0,0,0,16,65382,
- 4928,4762,73,8192,34,8720,1278,19,16384,511,14,31708,8737,0,0,0,0,68,65510,
- 17216,6554,33,57344,953,65532,506,323,16384,24,12,15870,65531,40960,0,0,0,17,32614,
- 4928,4122,73,8192,3891,65532,1790,19,16384,133,3,24444,65523,63488,0,0,0,36,32742,
- 45888,6298,25,40960,11007,65534,1266,179,16384,0,7,49151,65535,65024,0,0,0,1,16358,
- 4928,4762,136,57344,17151,65534,1022,19,16384,0,0,51199,65535,65408,0,0,0,84,32614,
- 17216,6554,33,57344,33791,65534,1023,323,16384,0,2,61446,31,65408,0,0,0,1,16358,
- 4928,4122,73,8193,5426,43774,3070,19,16384,0,1,8575,30583,32704,0,0,0,40,32638,
- 45888,6298,25,40963,43800,17652,1010,147,16384,0,0,36758,63032,65504,0,0,0,2,65526,
- 4928,666,72,57346,38690,8668,1278,67,16384,0,0,1513,23186,32736,0,0,0,80,32614,
- 17216,4506,25,40967,9281,5160,762,147,16384,0,0,6660,8193,6128,0,0,0,10,65510,
- 4928,1050,169,8196,30879,65520,254,83,16384,0,0,1023,65532,53232,0,0,0,32,16374,
- 45888,2202,25,57351,31712,0,2546,259,16384,0,0,0,6,61424,0,0,0,9,32614,
- 4928,666,64,40964,26048,0,4858,82,16384,0,0,0,1,29680,0,0,0,68,16366,
- 17216,5322,265,57348,25472,0,6386,19,16384,0,0,0,0,58352,0,0,0,17,32614,
- 4928,3060,329,8199,25472,0,4350,240,49152,0,0,0,0,47088,0,0,0,68,24678,
- 45888,4090,353,40966,64256,0,2810,3,16384,0,0,0,0,14320,0,0,0,17,2798,
- 4928,232,201,8199,63232,0,8702,339,16384,0,0,0,0,30640,0,0,0,56,30822,
- 17216,1032,633,57351,62848,0,7154,19,49152,0,0,0,0,22512,0,0,0,26,32102,
- 4928,8,416,40967,63872,1,63466,131,16384,0,0,0,0,55152,0,0,0,103,65416,
- 45888,0,3923,8199,65017,65521,65530,19,16384,0,1,65535,65523,57328,0,0,0,103,65424,
- 4959,62619,40930,40967,32307,65511,65498,179,16384,0,7,65535,65510,15920,0,0,0,95,65508,
- 17167,63783,15301,40966,57331,65511,65526,19,24576,0,15,65535,65511,65440,0,0,0,31,65506,
- 4895,65535,16143,24582,24575,65535,65412,323,16384,0,15,65535,65535,64848,0,0,0,36,31016,
- 45824,0,32824,16391,24575,65535,65246,19,49152,0,15,65535,65535,63344,0,0,0,17,30848,
- 4864,0,32941,57346,2047,65535,63368,179,16384,0,15,65535,65535,57456,0,0,0,24,33376,
- 17407,65534,65272,40960,38906,43765,23572,19,16384,0,13,21845,21882,61920,0,0,0,26,9312,
- 5461,21844,54721,16385,12568,34865,7024,179,16384,0,8,17476,17528,56544,0,0,0,0,0,
- 41489,0,37045,1,57338,8882,25768,43,49152,0,10,4369,4400,47424,0,0,0,0,0,
- 2180,18772,34378,32768,58431,65520,6480,473,16384,0,15,65535,65522,4800,0,0,0,0,0,
- 49152,0,33205,0,61720,56,7072,510,0,0,8,0,48,50432,0,0,0,0,0,
- 57344,0,49918,0,13189,18733,24192,511,0,0,6,43594,19020,58880,0,0,0,0,0,
- 51882,38024,21856,0,3924,4616,30976,56,32768,0,4,272,37002,15360,0,0,0,0,0,
- 32768,16930,18256,0,962,16518,18432,131,0,0,2,21572,1045,57344,0,0,0,0,0,
- /* Plane 3 */
- 640,20,1,16384,1704,21841,22528,170,43690,11008,21,21845,21834,24576,0,0,0,0,0,
- 0,0,0,0,8201,21826,32768,170,43688,20480,5,43690,43651,512,0,10922,43690,43690,43690,
- 0,0,0,0,523,27300,49280,45,21844,32784,7,65535,65535,59648,4,21845,21845,21845,21844,
- 8320,5380,144,16384,4031,65535,64064,32,2,8,17,65535,65535,64000,7,23210,43690,43690,43688,
- 16448,2,32,8192,23803,65535,65152,128,2,16,8,0,64,64832,22,43885,46811,28086,56168,
- 32768,2560,64,0,35820,34,16208,64,0,1034,32,0,96,24192,23,27990,43690,43690,43684,
- 8384,6,0,24576,3868,48,6048,256,0,516,8,0,66,8048,15,43690,44373,21845,21764,
- 0,1280,160,0,3372,16419,2012,64,19,4227,32773,2340,35185,6032,31,65535,65535,65535,65042,
- 16448,4102,0,8200,22697,5300,17892,32,18698,5442,32803,36863,65504,43952,31,65535,65535,65535,65028,
- 32768,1032,80,8,12719,65505,43756,256,0,833,32777,38912,65,14248,31,65535,65535,65535,63570,
- 8384,6410,0,24576,25528,48,5610,64,49154,2433,16401,32920,920,448,31,65535,65535,65535,63492,
- 0,8,160,1,24803,21120,1136,128,1184,0,5,38944,4,21440,24,0,0,0,1036,
- 16576,6666,0,24576,25600,2088,5360,32,49429,16544,37,49280,43982,22656,24,0,0,0,658,
- 32768,8,80,1,49161,41600,21536,288,1088,192,9,38912,6,32912,24,0,0,0,20484,
- 64,6410,0,8196,52528,5,548,64,49152,42048,19,32768,0,2560,24,0,0,0,2578,
- 0,8,128,0,51200,0,4224,128,0,512,1,34816,32000,34560,25,4144,16,21390,11780,
- 16576,6666,0,24586,51200,0,960,0,16384,96,41,53248,7936,9472,24,17733,19082,1056,17922,
- 0,8,80,0,49664,0,2112,320,32768,289,5,34816,6976,264,26,8208,8257,20616,7700,
- 16448,5386,0,24581,51456,0,326,32,16384,129,19,40962,23936,16832,25,2698,35368,1059,56834,
- 256,8,160,0,50176,0,6258,129,0,296,16385,43009,14592,4488,31,65535,65535,65516,7700,
- 41280,6402,0,8200,50432,0,96,1,16384,13,49193,40964,6272,26496,31,65535,65535,65506,48642,
- 256,512,64,1,49152,0,1506,321,0,308,16389,43009,22912,2472,16,0,0,9,7700,
- 16704,6402,32,24580,50176,0,612,33,16384,426,17,49152,7168,24992,9,9288,35108,42252,48642,
- 256,0,64,0,53248,0,2162,128,0,8,5,32773,22528,1480,2,35090,8322,4368,7700,
- 41280,6146,16,8200,50176,0,740,32,0,4,37,34816,14976,25984,12,8772,35368,33930,48652,
- 0,512,128,16384,61440,0,98,288,16384,0,9,63494,6656,904,2,34832,8322,8768,7698,
- 16448,6402,32,24580,49152,0,2662,65,49152,0,5,32768,39040,27008,4,8837,2600,33349,7684,
- 0,0,64,0,50176,0,352,32,0,0,35,34822,22528,392,0,51280,41090,8768,15884,
- 41024,6146,16,8200,49152,0,1126,256,16384,0,9,32768,14976,21912,5,516,2596,37013,7698,
- 256,512,64,16385,50176,0,368,64,0,0,17,43014,6656,928,0,0,0,0,48660,
- 16704,258,16,8196,49152,0,2402,129,16384,0,5,49152,39552,25000,0,0,0,84,7682,
- 256,1024,160,0,50176,0,614,32,0,0,37,38918,23040,2464,0,0,0,1,7684,
- 41280,2050,16,24584,50176,0,1248,256,49152,0,3,40960,14976,26056,0,0,0,36,7698,
- 256,664,64,2,50176,0,102,33,0,0,17,43014,39424,920,0,0,0,17,7684,
- 16704,130,0,24580,50176,0,624,193,16384,0,9,40960,6784,27040,0,0,0,68,15884,
- 256,2388,256,1,51200,0,7526,65,0,0,37,43013,23040,392,0,0,0,17,7698,
- 41280,3434,96,8203,19456,0,224,129,49152,0,3,32768,14464,21888,0,0,0,4,48660,
- 0,104,64,0,50688,0,2146,32,0,0,17,34822,6144,904,0,0,0,80,7714,
- 16448,8,112,24582,30720,0,96,257,16384,0,9,32768,39040,24960,0,0,0,5,7746,
- 0,8,384,0,8960,0,998,0,0,0,37,34822,22528,2440,0,0,0,32,7700,
- 41024,0,0,8204,29248,0,710,128,16384,0,3,32768,14464,25984,0,0,0,20,48706,
- 10,45209,1280,32768,47400,21840,23488,33,0,0,17,34822,6144,904,0,0,0,66,7700,
- 16394,43010,4608,40965,36009,27298,9090,257,16384,0,9,32768,39040,24960,0,0,0,16,48706,
- 11,21867,10240,16384,5648,44450,61184,64,16384,0,37,34821,22528,2440,0,0,0,4,40524,
- 41216,0,32768,16398,11263,65519,64512,129,0,0,3,32768,14464,25984,0,0,0,81,15874,
- 512,0,5,49152,57855,65535,61524,32,0,0,17,34822,6144,904,0,0,0,4,40532,
- 17152,0,32776,8192,41480,32,2,128,16384,0,5,32768,39040,27008,0,0,0,32,15938,
- 0,0,0,1,49948,48,0,33,0,0,33,34816,22528,392,0,0,0,21,7692,
- 41489,0,36913,0,8332,1120,2896,320,16384,0,10,47106,10880,9568,0,0,0,64,48706,
- 2180,18772,576,0,16888,41274,49152,41,49152,0,1,31748,5120,264,0,0,0,20,40532,
- 49152,0,32821,0,8271,65520,272,11,32768,0,5,24582,21504,9864,0,0,0,0,7682,
- 57344,0,49900,0,4110,32,3712,84,0,0,22,43011,21504,13632,0,0,0,85,7732,
- 51882,38024,64,0,1411,10892,768,86,0,0,6,4096,8192,256,0,0,0,0,7746,
- 32768,16930,17728,0,4528,44,20480,12,0,0,0,24576,17920,352,0,0,0,37,7714,
- 0,136,45056,0,513,43654,16384,0,0,0,0,0,0,0,0,0,0,16,7796,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,7730,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,7748,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,15916,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,7746,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,48644,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,7724,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,7746,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,7700,
- 0,0,0,0,21845,21841,22528,170,43690,11008,0,170,10922,43712,0,0,0,18,7746,
- 16000,500,31,16384,43690,43693,16384,170,43688,20480,0,341,43690,43520,0,0,0,4,7692,
- 3968,124,7,49153,46421,21824,128,45,21844,38928,0,512,23381,21520,0,0,0,84,48706,
- 3456,108,6,49152,0,16,64,63,65535,65288,0,2,0,0,0,0,0,12,7700,
- 11904,5492,151,16384,0,16,128,143,65535,65424,0,8192,0,0,0,0,0,32,48706,
- 23616,226,46,8192,0,0,8272,64,4,18378,0,8194,0,16,0,0,0,9,7692,
- 35840,2656,70,0,0,16,4128,256,4,756,0,49152,0,8,0,0,0,66,48674,
- 11456,102,6,24576,8192,128,33820,64,23,4339,32769,1298,256,0,0,0,0,20,7684,
- 3072,1392,174,1,2633,8788,17412,40,18702,5498,32768,17088,37961,10248,0,0,0,36,48684,
- 23616,4326,6,8192,0,17,43532,284,32764,861,32769,1026,0,0,0,0,0,8,40450,
- 35840,1128,86,0,8192,0,5386,76,49158,2461,16385,34440,0,16,0,0,0,64,15924,
- 11456,6506,6,24576,35156,38028,1024,140,1184,14,13,33801,42154,36880,0,0,0,17,7690,
- 3584,104,175,2,8705,8704,128,44,49429,16558,3,32768,2304,8192,0,0,0,40,48676,
- 23744,6890,6,24579,34964,18598,0,302,1088,196,4,3188,49738,34880,0,0,0,0,7730,
- 35840,104,86,0,0,2,8260,76,49152,42052,3,48,0,0,0,0,0,83,7748,
- 3136,6506,6,8192,0,0,4864,156,0,516,4,0,0,0,0,0,0,4,7716,
- 7168,104,142,0,0,0,768,12,16384,100,2,640,0,0,0,0,0,40,7778,
- 19648,6890,6,24576,0,0,256,334,32768,289,0,1408,0,0,0,0,0,0,15876,
- 3584,104,87,0,0,0,514,44,16384,129,0,6144,0,0,0,0,0,80,40550,
- 23616,5482,6,24576,0,0,4096,157,0,296,16385,1152,0,0,0,0,0,4,7714,
- 3328,104,174,0,0,0,2560,13,16384,13,49154,2624,0,0,0,0,0,34,7716,
- 44352,6514,6,8192,0,0,258,173,0,308,16386,34192,0,0,0,0,0,16,48706,
- 3328,608,70,0,34,8720,1028,13,16384,426,8,348,8737,0,0,0,0,68,40484,
- 23872,6498,46,24576,40,43652,258,349,0,8,0,170,21842,8192,0,0,0,17,15942,
- 3328,224,70,0,33,21760,1540,13,16384,4,3,16468,27296,0,0,0,0,36,7714,
- 44352,6242,22,8192,512,2,2,172,0,0,4,40960,8,0,0,0,0,1,7716,
- 3072,608,135,16384,8,2,262,12,16384,0,0,49154,0,128,0,0,0,84,7748,
- 23616,6498,46,24576,0,0,263,348,0,0,0,61440,8,0,0,0,0,1,7716,
- 3072,224,70,0,290,43520,2310,12,16384,0,0,288,3,0,0,0,0,40,15970,
- 44096,6242,22,8194,33280,17408,256,141,0,0,0,1808,8736,49184,0,0,0,2,40452,
- 3328,608,71,16384,34338,8576,6,93,16384,0,0,1385,23186,8192,0,0,0,80,15972,
- 23872,354,22,8197,1,5128,0,141,0,0,0,2564,8192,4112,0,0,0,10,40484,
- 3328,1248,166,4,16394,44368,6,13,16384,0,0,682,43688,51200,0,0,0,32,7730,
- 44352,2146,22,24578,23520,0,2304,285,0,0,0,0,4,25600,0,0,0,9,7748,
- 3328,664,79,0,192,0,514,12,16384,0,0,0,1,12288,0,0,0,68,7724,
- 23872,130,6,24576,768,0,6144,13,0,0,0,0,0,24576,0,0,0,17,7746,
- 3328,2388,262,3,384,0,6,174,16384,0,0,0,0,5120,0,0,0,68,24644,
- 44352,3434,110,8192,39168,0,512,29,0,0,0,0,0,5120,0,0,0,17,2764,
- 3072,104,70,2,1024,0,262,268,16384,0,0,0,0,4096,0,0,0,48,10274,
- 23616,8,118,24576,4480,0,6912,12,0,0,0,0,0,5120,0,0,0,10,11588,
- 3072,8,399,0,2048,1,33282,156,16384,0,0,0,0,4096,0,0,0,34,43784,
- 44096,0,12,8193,296,43680,4096,12,16384,0,0,43690,43681,20480,0,0,0,67,21776,
- 3082,45209,1308,32771,17,21826,2058,172,16384,0,2,43701,21828,0,0,0,0,77,27972,
- 23562,43010,4664,40960,98,46757,16388,12,24576,0,2,56150,56162,544,0,0,0,21,21922,
- 3083,21867,10480,16386,20488,16,260,348,16384,0,0,0,16,1344,0,0,0,36,10536,
- 44351,65535,65472,16388,6152,16,94,12,0,0,0,0,0,80,0,0,0,17,20608,
- 3711,65535,32581,49152,1024,0,0,172,16384,0,0,0,16,80,0,0,0,16,33312,
- 23296,1,33032,8192,5896,16,16,12,0,0,0,0,0,61888,0,0,0,10,9280,
- 0,3,0,0,12296,34833,7008,172,16384,0,0,17476,17496,51360,0,0,0,0,0,
- 41489,1,36913,0,24066,8834,8224,43,49152,0,2,4369,4352,14336,0,0,0,0,0,
- 2180,18773,576,0,8,16,16,456,0,0,0,0,16,64,0,0,0,0,0,
- 53247,65535,32821,0,57352,24,6528,490,0,0,0,0,0,0,0,0,0,0,0,
- 57344,1,49900,0,385,18732,7296,426,0,0,6,43594,19020,17408,0,0,0,0,0,
- 51882,38024,64,0,1876,4608,22784,48,32768,0,0,272,37002,11264,0,0,0,0,0,
- 32768,16930,17728,0,832,16518,16384,3,0,0,0,21572,1041,24576,0,0,0,0,0
- };
-
- // About bitmap has 2 blank lines around it in every direction.
- UWORD chip AboutData[456] =
- { /* Plane 0 */
- 0,0,0,
- 0,0,0,
- 4352,0,0,
- 4704,0,0,
- 2688,1024,0,
- 9984,1024,0,
- 8128,3584,0,
- 1824,3584,0,
- 2688,3840,0,
- 12864,3840,0,
- 1090,34688,0,
- 3,51072,128,
- 7,33728,256,
- 7,33728,1024,
- 15375,65535,65216,
- 15375,65504,1024,
- 7711,57584,256,
- 2591,61680,1152,
- 60,31864,1024,
- 60,7800,0,
- 1340,1980,0,
- 2040,1020,0,
- 1008,254,0,
- 1008,126,0,
- 480,31,0,
- 480,15,0,
- 0,0,0,
- 0,0,0,
- 0,0,0,
- 3643,37347,34944,
- 4388,37412,19584,
- 4388,37380,19584,
- 7972,37383,51840,
- 4388,37476,18816,
- 4388,37412,18816,
- 4384,37348,18560,
- 0,0,0,
- 0,0,0,
- /* Plane 1 */
- 0,0,0,
- 0,0,0,
- 4352,14336,0,
- 4704,14336,0,
- 2688,30720,0,
- 9984,30720,0,
- 8128,61440,0,
- 1824,61440,0,
- 2689,57344,0,
- 12865,57344,0,
- 1089,16384,1024,
- 0,0,9216,
- 0,0,4096,
- 0,0,1024,
- 0,0,65216,
- 0,0,1024,
- 0,0,4352,
- 5140,0,8320,
- 3900,0,0,
- 3900,0,0,
- 1980,0,0,
- 2040,0,0,
- 1008,0,0,
- 1008,0,0,
- 480,0,0,
- 480,0,0,
- 0,0,0,
- 0,0,0,
- 0,0,0,
- 3643,37347,34944,
- 4388,37412,19584,
- 4388,37380,19584,
- 7972,37383,51840,
- 4388,37476,18816,
- 4388,37412,18816,
- 4384,37348,18560,
- 0,0,0,
- 0,0,0,
- /* Plane 2 */
- 0,0,0,
- 0,0,0,
- 4352,0,0,
- 4704,0,0,
- 2688,0,0,
- 9984,0,0,
- 8128,0,0,
- 1824,0,0,
- 2688,0,0,
- 12864,0,0,
- 1090,32768,1024,
- 3,49152,9344,
- 7,32768,4352,
- 7,32768,1024,
- 15375,0,65024,
- 15375,0,1024,
- 7710,0,256,
- 7690,0,1152,
- 3840,0,1024,
- 3840,0,0,
- 1920,0,0,
- 1920,0,0,
- 768,0,0,
- 768,0,0,
- 0,0,0,
- 0,0,0,
- 0,0,0,
- 0,0,0,
- 0,0,0,
- 3643,37347,34944,
- 4388,37412,19584,
- 4388,37380,19584,
- 7972,37383,51840,
- 4388,37476,18816,
- 4388,37412,18816,
- 4384,37348,18560,
- 0,0,0,
- 0,0,0,
- /* Plane 3 */
- 0,0,0,
- 0,0,0,
- 4352,14336,0,
- 4704,14336,0,
- 2688,30720,0,
- 9984,30720,0,
- 8128,61440,0,
- 1824,61440,0,
- 2689,57344,0,
- 12865,57344,0,
- 1091,49152,0,
- 3,49152,8320,
- 7,32768,4352,
- 7,32768,1024,
- 15,0,65216,
- 15,0,1024,
- 30,0,4096,
- 30,0,8192,
- 60,0,0,
- 60,0,0,
- 60,0,0,
- 120,0,0,
- 240,0,0,
- 240,0,0,
- 480,0,0,
- 480,0,0,
- 0,0,0,
- 0,0,0,
- 0,0,0,
- 3643,37347,34944,
- 4388,37412,19584,
- 4388,37380,19584,
- 7972,37383,51840,
- 4388,37476,18816,
- 4388,37412,18816,
- 4384,37348,18560,
- 0,0,0,
- 0,0,0
- };
-
- // PRIVATE STRUCTURES -----------------------------------------------------
-
- struct Image Logo =
- { 0, 0,
- 304, 118, 4,
- LogoData,
- 0x0f, 0x0,
- NULL
- };
- struct Image About =
- { 0, 0,
- 44, 38, 4,
- AboutData,
- 0x0f, 0x0,
- NULL
- };
- MODULE struct EasyStruct EasyStruct =
- { sizeof(struct EasyStruct),
- 0,
- TITLEBAR,
- "Fieldset/highscores have been modified.",
- "Continue|Cancel"
- };
- struct
- { WORD x, y;
- STRPTR text;
- } about[ABOUTLINES + 1] =
- { {72, 27, "Worm Wars 7.21a for Amiga" },
- {72, 35, "Monday 21 October 2002" },
- {72, 51, "© 2002 Amigan Software" },
- {72, 59, "By James R. Jacobs" },
- {16, 75, "Fieldset size: bytes"},
- {16, 91, "Kickstart:" },
- {16, 99, "Workbench:" }
- };
- struct
- { UBYTE scancode;
- BYTE player, deltax, deltay, special;
- BOOL down;
- } key[NUMKEYS + 1] =
- { {Q, 0, -1, -1, MOVE, FALSE},
- {W, 0, 0, -1, MOVE, FALSE},
- {E, 0, 1, -1, MOVE, FALSE},
- {A, 0, -1, 0, MOVE, FALSE},
- {S, 0, 0, 1, MOVE, FALSE},
- {D, 0, 1, 0, MOVE, FALSE},
- {Z, 0, -1, 1, MOVE, FALSE},
- {KEY_X, 0, 1, 1, MOVE, FALSE},
- {C, 0, 1, 1, MOVE, FALSE},
- {NUMERICSEVEN, 1, -1, -1, MOVE, FALSE},
- {NUMERICEIGHT, 1, 0, -1, MOVE, FALSE},
- {NUMERICNINE, 1, 1, -1, MOVE, FALSE},
- {NUMERICFOUR, 1, -1, 0, MOVE, FALSE},
- {NUMERICFIVE, 1, 0, 1, MOVE, FALSE},
- {NUMERICSIX, 1, 1, 0, MOVE, FALSE},
- {NUMERICONE, 1, -1, 1, MOVE, FALSE},
- {NUMERICTWO, 1, 0, 1, MOVE, FALSE},
- {NUMERICTHREE, 1, 1, 1, MOVE, FALSE},
- {UP, 1, 0, -1, ONEHUMAN, FALSE},
- {DOWN, 1, 0, 1, ONEHUMAN, FALSE},
- {RIGHT, 1, 1, 0, ONEHUMAN, FALSE},
- {LEFT, 1, -1, 0, ONEHUMAN, FALSE},
- {SPACEBAR, 0, 0, 0, AMMO, FALSE},
- {NUMERICZERO, 1, 0, 0, AMMO, FALSE},
- {ENTER, 1, 0, 0, AMMO, FALSE},
- {HELP, 0, 0, 0, TRAINER, FALSE},
- {NUMERICSLASH, 0, 0, 0, TRAINER, FALSE},
- {NUMERICASTERISK, 0, 0, 0, TRAINER, FALSE},
- {NUMERICPLUS, 0, 0, 0, TRAINER, FALSE}
- }; /* Never leave unused keys in this structure. */
-
- /* #DEFINES -------------------------------------------------------------- */
-
- #define ID_8SVX MAKE_ID('8','S','V','X')
- #define ID_BODY MAKE_ID('B','O','D','Y')
- #define ID_VHDR MAKE_ID('V','H','D','R')
- #define PALCLOCK 3546895
- #define NTSCCLOCK 3579545
- #define SOFT 32
- #define LOUD 64 /* = Unity */
-
- /* PRIVATE STRUCTURES ---------------------------------------------------- */
-
- #define INDEX_ANIMATIONS 21
- #define INDEX_CREATEICONS 22
- #define INDEX_THICKTAILS 23
-
- struct NewMenu NewMenu[29 + 1] =
- { { NM_TITLE, "Project", 0 , 0, 0, 0}, // 0
- { NM_ITEM, "New", "N", 0, 0, 0}, // 1
- { NM_ITEM, "Open...", "O", 0, 0, 0}, // 2
- { NM_ITEM, "Revert", "R", 0, 0, 0}, // 3
- { NM_ITEM, NM_BARLABEL, 0 , 0, 0, 0}, // 4
- { NM_ITEM, "Save", "S", 0, 0, 0}, // 5
- { NM_ITEM, "Save As...", "A", 0, 0, 0}, // 6
- { NM_ITEM, NM_BARLABEL, 0 , 0, 0, 0}, // 7
- { NM_ITEM, "Delete...", "D", 0, 0, 0}, // 8
- { NM_ITEM, NM_BARLABEL, 0 , 0, 0, 0}, // 9
- { NM_ITEM, "Quit", "Q", 0, 0, 0}, // 10
- { NM_TITLE, "Edit", 0 , NM_MENUDISABLED, 0, 0}, // 11
- { NM_ITEM, "Cut", "X", 0, 0, 0}, // 12
- { NM_ITEM, "Copy", "C", 0, 0, 0}, // 13
- { NM_ITEM, "Paste", "V", 0, 0, 0}, // 14
- { NM_ITEM, NM_BARLABEL, 0 , 0, 0, 0}, // 15
- { NM_ITEM, "Erase", "E", 0, 0, 0}, // 16
- { NM_ITEM, "Delete", 0 , 0, 0, 0}, // 17
- { NM_ITEM, "Insert", 0 , 0, 0, 0}, // 18
- { NM_ITEM, "Append", 0 , 0, 0, 0}, // 19
- { NM_TITLE, "Settings", 0 , 0, 0, 0}, // 20
- { NM_ITEM, "Animations?", "T", CHECKIT | MENUTOGGLE, 0, 0}, // 21
- { NM_ITEM, "Create Icons?", "I", CHECKIT | MENUTOGGLE, 0, 0}, // 22
- { NM_ITEM, "Thick Tails?", "H", CHECKIT | MENUTOGGLE, 0, 0}, // 23
- { NM_TITLE, "Help", 0 , 0, 0, 0}, // 24
- { NM_ITEM, "Creatures...", "1", 0, 0, 0}, // 25
- { NM_ITEM, "Objects...", "2", 0, 0, 0}, // 26
- { NM_ITEM, NM_BARLABEL, 0 , 0, 0, 0}, // 27
- { NM_ITEM, "About...", "?", 0, 0, 0}, // 30
- { NM_END, NULL, 0 , 0, 0, 0} // 31
- };
-
- struct GamePortTrigger Trigger =
- { GPTF_DOWNKEYS,
- 65535,
- 1, 1
- };
-
- // gadgets
- struct NewGadget StringGadget =
- { 235, 0,
- 181, 12,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL
- };
- struct NewGadget PlayGadget =
- { 256, TSOFFSET + 124,
- 128, 12,
- "Play Game",
- NULL,
- NULL,
- NULL,
- NULL,
- NULL
- };
- struct NewGadget FEGadget =
- { 256, TSOFFSET + 140,
- 128, 12,
- "Field Editor",
- NULL,
- NULL,
- NULL,
- NULL,
- NULL
- };
- struct NewGadget RandomGadget =
- { 370, TSOFFSET + 170,
- 0, 0,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL
- };
- struct NewGadget CycleGadget =
- { 288, 0,
- 128, 13,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL
- };
-
- struct
- { STRPTR filename;
- BYTE volume;
- ULONG length[2], size, speed, bank;
- UBYTE* base;
- } samp[SAMPLES + 1] =
- { { "PROGDIR:fx/dogawakens.8svx", SOFT}, /* FXBORN_DOG */
- { "PROGDIR:fx/dripborn.8svx", SOFT}, /* FXBORN_DRIP */
- { "PROGDIR:fx/goatborn.8svx", SOFT}, /* FXBORN_GOAT */
- {"PROGDIR:fx/missileactive.8svx", LOUD}, /* FXBORN_MISSILE */
- { "PROGDIR:fx/orbborn.8svx", SOFT}, /* FXBORN_ORB */
- { "PROGDIR:fx/penguinborn.8svx", SOFT}, /* FXBORN_PENGUIN */
- {"PROGDIR:fx/protectorborn.8svx", SOFT}, /* FXBORN_PROTECTOR */
- { "PROGDIR:fx/thud.8svx", SOFT}, /* FXDEATH_FRAGMENT (thud) */
- { "PROGDIR:fx/wormdeath.8svx", LOUD}, /* FXDEATH_WORM */
- { "PROGDIR:fx/timebombtick.8svx", LOUD}, /* FXDO_BOMB (tick) */
- { "PROGDIR:fx/enclosure.8svx", LOUD}, /* FXDO_ENCLOSE */
- { "PROGDIR:fx/goatfire.8svx", SOFT}, /* FXDO_GOAT (fire) */
- { "PROGDIR:fx/jump.8svx", SOFT}, /* FXDO_JUMP */
- { "PROGDIR:fx/orbsplit.8svx", SOFT}, /* FXDO_ORB (split) */
- { "PROGDIR:fx/getammo.8svx", LOUD}, /* FXGET_AMMO */
- { "PROGDIR:fx/cyclone.8svx", LOUD}, /* FXGET_CYCLONE */
- { "PROGDIR:fx/fx.8svx", SOFT}, /* FXGET_DRIP */
- { "PROGDIR:fx/getgrower.8svx", SOFT}, /* FXGET_GROWER */
- { "PROGDIR:fx/getobject.8svx", SOFT}, /* FXGET_OBJECT */
- { "PROGDIR:fx/getpowerup.8svx", LOUD}, /* FXGET_POWERUP */
- { "PROGDIR:fx/explode.8svx", SOFT}, /* FXGET_PULSE (explode) */
- { "PROGDIR:fx/getskull.8svx", SOFT}, /* FXGET_SKULL */
- { "PROGDIR:fx/amigan.8svx", SOFT}, /* FXHELP */
- { "PROGDIR:fx/shoot.8svx", SOFT}, /* FXUSE_AMMO */
- { "PROGDIR:fx/usearmour.8svx", SOFT}, /* FXUSE_ARMOUR */
- { "PROGDIR:fx/bombblast.8svx", SOFT}, /* FXUSE_BOMB */
- { "PROGDIR:fx/useteleport.8svx", SOFT}, /* FXUSE_TELEPORT */
- { "PROGDIR:fx/usetongue.8svx", SOFT}, /* FXBORN_BIRD */
- { "PROGDIR:fx/green.8svx", SOFT}, /* FXPAIN */
- { "PROGDIR:fx/red.8svx", SOFT},
- { "PROGDIR:fx/blue.8svx", SOFT},
- { "PROGDIR:fx/yellow.8svx", SOFT},
- { "PROGDIR:fx/highscore.8svx", SOFT}, /* FXAPPLAUSE (after each new hiscore) */
- { "PROGDIR:fx/defeat.8svx", LOUD}, /* FXGAMEOVER (if all worms are dead) */
- { "PROGDIR:fx/victory.8svx", SOFT}, /* FXCELEBRATE (if game succeeded) */
- { "PROGDIR:fx/click.8svx", SOFT}, /* FXCLICK (rundown, keypresses) */
- { "PROGDIR:fx/titlescreen.8svx", SOFT}, /* FXLAUNCH (title screen) */
- { "PROGDIR:fx/endoflevel.8svx", LOUD}, /* FXRIFF (after each rundown) */
- { "PROGDIR:fx/timealert.8svx", SOFT} /* FXSIREN (out of time) */
- };
-
- /* ARRAYS -------------------------------------------------------------- */
-
- MODULE UBYTE* CycleOptions[4][6] =
- { { (UBYTE *) "None",
- (UBYTE *) "Amiga",
- (UBYTE *) "Joystick 3",
- (UBYTE *) "Gamepad 3",
- (UBYTE *) "Lt. Kybd",
- NULL
- },
- { (UBYTE *) "None",
- (UBYTE *) "Amiga",
- (UBYTE *) "Joystick 4",
- (UBYTE *) "Gamepad 4",
- (UBYTE *) "Rt. Kybd",
- NULL
- },
- { (UBYTE *) "None",
- (UBYTE *) "Amiga",
- (UBYTE *) "Joystick 2",
- (UBYTE *) "Gamepad 2",
- NULL,
- NULL
- },
- { (UBYTE *) "None",
- (UBYTE *) "Amiga",
- (UBYTE *) "Joystick 1",
- (UBYTE *) "Gamepad 1",
- NULL,
- NULL
- } };
-
- MODULE STRPTR sfxerror[] =
- { "No errors.",
- "Can't open file!",
- "Can't read file!",
- "Not an IFF 8SVX; too short!",
- "Not an IFF FORM!",
- "No memory for read!",
- "Read error!",
- "Malformed IFF; too short!",
- "Not an IFF 8SVX!",
- "No chip memory!"
- };
-
- /* PUBLIC STRUCTURES ----------------------------------------------------- */
-
- struct Chunk
- { LONG ckID;
- LONG ckSize;
- LONG ckType;
- void* ckData;
- struct Chunk* ckNext;
- };
-
- /* TYPEDEFS --------------------------------------------------------------- */
-
- typedef LONG Fixed; /* A fixed-point value, 16 bits to the left
- of the point and 16 to the right. A Fixed
- is a number of 2**16ths, ie. 65536ths. */
- typedef struct
- { ULONG oneShotHiSamples, /* # samples in the high octave 1-shot part */
- repeatHiSamples, /* # samples in the high octave repeat part */
- samplesPerHiCycle; /* # samples/cycle in high octave, else 0 */
- UWORD samplesPerSec; /* data sampling rate */
- UBYTE ctOctave, /* # of octaves of waveforms */
- sCompression; /* data compression technique used */
- Fixed volume; /* playback nominal volume from 0 to Unity
- (full volume). Map this value into the
- output hardware's dynamic range (0-64). */
- } Voice8Header;
-
- /* Must have blank line at EOF. */
-